package com.laamella.syntherface.synths.alesis.micron.gui;

import javax.swing.JPanel;

import com.laamella.syntherface.synths.alesis.micron.model.Patch;
import com.laamella.syntherface.synths.events.EventListener;
import com.laamella.syntherface.synths.events.SynthWideEvents;
import com.laamella.syntherface.synths.models.ParameterModel;
import java.util.ArrayList;
import java.util.List;

@SuppressWarnings("serial") public class EditPanel extends JPanel {

	private Patch patch;

	/** Creates new form EditPanel */
	public void setModel(Patch patch) {
		//
		oscillator1.setModel(patch.oscillator1);
		oscillator2.setModel(patch.oscillator2);
		oscillator3.setModel(patch.oscillator3);
		fmPanel.setModel(patch.voice);
		preFilterMixerExternalStereoAudioInput.setModel(patch.preFilterMixExtIn);
		preFilterMixerNoise.setModel(patch.preFilterMixNoise);
		preFilterMixerOscillator1.setModel(patch.preFilterMixOscillator1);
		preFilterMixerOscillator2.setModel(patch.preFilterMixOscillator2);
		preFilterMixerOscillator3.setModel(patch.preFilterMixOscillator3);
		preFilterMixerRingModulation.setModel(patch.preFilterMixRingModulation);
		syncPanel1.setModel(patch.voice);
		filter1Panel.setModel(patch.filter);
		filter2Panel.setModel(patch.filter);
		fxPanel1.setModel(patch.effects);
		prepostFilterMixerPanel.setModel(patch.postFilterMix.preFilterLevel, patch.postFilterMix.preFilterPan);
		filter1PostFilterMixerPanel.setModel(patch.postFilterMix.filter1Level, patch.postFilterMix.filter1Pan);
		filter2PostFilterMixerPanel.setModel(patch.postFilterMix.filter2Level, patch.postFilterMix.filter2Pan);
		postDriveMixerPanel.setModel(patch.output.programLevel, null);
		modulationMatrixPanel1.setModel(patch.modulationMatrix);
		//
		parameterValueButton1.setModel(patch.voice.polyphony);
		analogDriftSlider.setModel(patch.voice.analogDrift);
		noiseButtonGroup.setModel(patch.voice.noiseType);
		unisonDetuneSlider.setModel(patch.voice.unisonDetune);
		unisonVoicesLabel.setModel(patch.voice.unison);
		unisonVoicesSlider.setModel(patch.voice.unison);
		nameField.setDocument(patch.name.document);
		portamentoEnabledButtonGroup.setModel(patch.voice.portamentoEnabled);
		portamentoTimeSlider.setModel(patch.voice.portamentoTime);
		portamentoTypeButtonGroup.setModel(patch.voice.portamentoType);
		postpreFilterMixLabel.setModel(patch.postFilterMix.preFilterSource);
		postpreFilterMixSlider.setModel(patch.postFilterMix.preFilterSource);
		filter1InvertPhaseCheckBox.setModel(patch.postFilterMix.filter1InvertPhase.buttonModel);
		this.patch = patch;
	}

	/** Creates new form EditPanel */
	public EditPanel() {
		initComponents();
	}

	/**
	 * This method is called from within the constructor to initialize the
	 * form. WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed"
	// desc="Generated
	// <editor-fold defaultstate="collapsed" desc="Generated
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        noiseButtonGroup = new com.laamella.syntherface.synths.gui.RotaryButtonGroup();
        portamentoTypeButtonGroup = new com.laamella.syntherface.synths.gui.RotaryButtonGroup();
        portamentoEnabledButtonGroup = new com.laamella.syntherface.synths.gui.RotaryButtonGroup();
        filter1InvertPhaseCheckBox = new javax.swing.JCheckBox();
        linePanel4 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel19 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel21 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel23 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel25 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel27 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel33 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel6 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel18 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel20 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel22 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel24 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel26 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel5 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel3 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel10 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel11 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel12 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel13 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel28 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel29 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel30 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel31 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel14 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel16 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel17 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel7 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel2 = new com.laamella.syntherface.synths.gui.LinePanel();
        oscillator1 = new com.laamella.syntherface.synths.alesis.micron.gui.OscillatorPanel();
        oscillator2 = new com.laamella.syntherface.synths.alesis.micron.gui.OscillatorPanel();
        oscillator3 = new com.laamella.syntherface.synths.alesis.micron.gui.OscillatorPanel();
        preFilterMixerOscillator1 = new com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel();
        preFilterMixerOscillator2 = new com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel();
        preFilterMixerOscillator3 = new com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel();
        preFilterMixerRingModulation = new com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel();
        preFilterMixerExternalStereoAudioInput = new com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel();
        preFilterMixerNoise = new com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel();
        jLabel1 = new javax.swing.JLabel();
        fmPanel = new com.laamella.syntherface.synths.alesis.micron.gui.FmPanel();
        syncPanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.SyncPanel();
        noisePanel = new javax.swing.JPanel();
        javax.swing.JLabel jLabel5 = new javax.swing.JLabel();
        jRadioButton1 = new javax.swing.JRadioButton();
        jRadioButton2 = new javax.swing.JRadioButton();
        extInPanel = new javax.swing.JPanel();
        javax.swing.JLabel jLabel2 = new javax.swing.JLabel();
        javax.swing.JLabel jLabel3 = new javax.swing.JLabel();
        javax.swing.JLabel jLabel6 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        ringModPanel = new javax.swing.JPanel();
        javax.swing.JLabel jLabel7 = new javax.swing.JLabel();
        javax.swing.JLabel jLabel8 = new javax.swing.JLabel();
        linePanel1 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel9 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel8 = new com.laamella.syntherface.synths.gui.LinePanel();
        extInBluePlugPanel = new javax.swing.JPanel();
        filter2Panel = new com.laamella.syntherface.synths.alesis.micron.gui.Filter2Panel();
        filter1Panel = new com.laamella.syntherface.synths.alesis.micron.gui.Filter1Panel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        linePanel32 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel15 = new com.laamella.syntherface.synths.gui.LinePanel();
        extInBluePlugPanel1 = new javax.swing.JPanel();
        linePanel34 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel35 = new com.laamella.syntherface.synths.gui.LinePanel();
        portamentoPanel = new javax.swing.JPanel();
        jLabel15 = new javax.swing.JLabel();
        jRadioButton4 = new javax.swing.JRadioButton();
        jRadioButton5 = new javax.swing.JRadioButton();
        jRadioButton3 = new javax.swing.JRadioButton();
        jRadioButton7 = new javax.swing.JRadioButton();
        jRadioButton8 = new javax.swing.JRadioButton();
        jRadioButton9 = new javax.swing.JRadioButton();
        jRadioButton6 = new javax.swing.JRadioButton();
        portamentoTimeSlider = new javax.swing.JSlider();
        jLabel16 = new javax.swing.JLabel();
        analogDriftPanel1 = new javax.swing.JPanel();
        analogDriftSlider = new javax.swing.JSlider();
        jLabel12 = new javax.swing.JLabel();
        polyphonyPanel = new javax.swing.JPanel();
        parameterValueButton1 = new com.laamella.syntherface.synths.gui.ParameterValueToggleButton();
        polyphonyPanel3 = new javax.swing.JPanel();
        jLabel13 = new javax.swing.JLabel();
        unisonDetuneSlider = new javax.swing.JSlider();
        unisonVoicesSlider = new javax.swing.JSlider();
        jLabel14 = new javax.swing.JLabel();
        unisonVoicesLabel = new com.laamella.syntherface.synths.gui.ParameterValueLabel();
        fxPanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.Fx1Panel();
        nameField = new javax.swing.JFormattedTextField();
        filter2PostFilterMixerPanel = new com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel();
        filter1PostFilterMixerPanel = new com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel();
        prepostFilterMixerPanel = new com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel();
        postDriveMixerPanel = new com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel();
        drivePanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.DrivePanel();
        fx2Panel1 = new com.laamella.syntherface.synths.alesis.micron.gui.Fx2Panel();
        envelopePanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.EnvelopePanel();
        envelopePanel2 = new com.laamella.syntherface.synths.alesis.micron.gui.EnvelopePanel();
        envelopePanel3 = new com.laamella.syntherface.synths.alesis.micron.gui.EnvelopePanel();
        lfoPanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.LfoPanel();
        lfoPanel2 = new com.laamella.syntherface.synths.alesis.micron.gui.LfoPanel();
        micronKnobsPanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.MicronKnobsPanel();
        modulationMatrixPanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.ModulationMatrixPanel();
        trackingGeneratorPanel1 = new com.laamella.syntherface.synths.alesis.micron.gui.TrackingGeneratorPanel();
        linePanel36 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel37 = new com.laamella.syntherface.synths.gui.LinePanel();
        jPanel1 = new javax.swing.JPanel();
        jLabel17 = new javax.swing.JLabel();
        postpreFilterMixSlider = new javax.swing.JSlider();
        postpreFilterMixLabel = new com.laamella.syntherface.synths.gui.ParameterValueLabel();
        linePanel38 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel39 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel40 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel41 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel42 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel44 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel43 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel45 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel46 = new com.laamella.syntherface.synths.gui.LinePanel();
        verticalLabel1 = new com.laamella.syntherface.synths.gui.VerticalLabel();
        jPanel2 = new javax.swing.JPanel();
        jLabel18 = new javax.swing.JLabel();
        filter2RelativeToFilter1CheckBox = new javax.swing.JCheckBox();
        filter1RelativeToFilter2Slider = new javax.swing.JSlider();
        linePanel47 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel48 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel49 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel50 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel51 = new com.laamella.syntherface.synths.gui.LinePanel();
        linePanel52 = new com.laamella.syntherface.synths.gui.LinePanel();

        setBackground(new java.awt.Color(255, 255, 255));
        setPreferredSize(new java.awt.Dimension(2000, 1000));
        setLayout(null);

        filter1InvertPhaseCheckBox.setOpaque(false);
        add(filter1InvertPhaseCheckBox);
        filter1InvertPhaseCheckBox.setBounds(860, 470, 20, 20);

        linePanel4.setForeground(new java.awt.Color(0, 153, 153));
        linePanel4.setArrowA(false);
        linePanel4.setArrowB(false);

        javax.swing.GroupLayout linePanel4Layout = new javax.swing.GroupLayout(linePanel4);
        linePanel4.setLayout(linePanel4Layout);
        linePanel4Layout.setHorizontalGroup(
            linePanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel4Layout.setVerticalGroup(
            linePanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 600, Short.MAX_VALUE)
        );

        add(linePanel4);
        linePanel4.setBounds(650, 120, 20, 600);

        linePanel19.setForeground(new java.awt.Color(0, 153, 153));
        linePanel19.setArrowA(false);
        linePanel19.setArrowB(false);
        linePanel19.setHorizontal(true);

        javax.swing.GroupLayout linePanel19Layout = new javax.swing.GroupLayout(linePanel19);
        linePanel19.setLayout(linePanel19Layout);
        linePanel19Layout.setHorizontalGroup(
            linePanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel19Layout.setVerticalGroup(
            linePanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel19);
        linePanel19.setBounds(590, 230, 70, 20);

        linePanel21.setForeground(new java.awt.Color(0, 153, 153));
        linePanel21.setArrowA(false);
        linePanel21.setArrowB(false);
        linePanel21.setHorizontal(true);

        javax.swing.GroupLayout linePanel21Layout = new javax.swing.GroupLayout(linePanel21);
        linePanel21.setLayout(linePanel21Layout);
        linePanel21Layout.setHorizontalGroup(
            linePanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel21Layout.setVerticalGroup(
            linePanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel21);
        linePanel21.setBounds(590, 350, 70, 20);

        linePanel23.setForeground(new java.awt.Color(0, 153, 153));
        linePanel23.setArrowA(false);
        linePanel23.setArrowB(false);
        linePanel23.setHorizontal(true);

        javax.swing.GroupLayout linePanel23Layout = new javax.swing.GroupLayout(linePanel23);
        linePanel23.setLayout(linePanel23Layout);
        linePanel23Layout.setHorizontalGroup(
            linePanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel23Layout.setVerticalGroup(
            linePanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel23);
        linePanel23.setBounds(590, 470, 70, 20);

        linePanel25.setForeground(new java.awt.Color(0, 153, 153));
        linePanel25.setArrowA(false);
        linePanel25.setArrowB(false);
        linePanel25.setHorizontal(true);

        javax.swing.GroupLayout linePanel25Layout = new javax.swing.GroupLayout(linePanel25);
        linePanel25.setLayout(linePanel25Layout);
        linePanel25Layout.setHorizontalGroup(
            linePanel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel25Layout.setVerticalGroup(
            linePanel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel25);
        linePanel25.setBounds(590, 590, 70, 20);

        linePanel27.setForeground(new java.awt.Color(0, 153, 153));
        linePanel27.setArrowA(false);
        linePanel27.setArrowB(false);
        linePanel27.setHorizontal(true);

        javax.swing.GroupLayout linePanel27Layout = new javax.swing.GroupLayout(linePanel27);
        linePanel27.setLayout(linePanel27Layout);
        linePanel27Layout.setHorizontalGroup(
            linePanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel27Layout.setVerticalGroup(
            linePanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel27);
        linePanel27.setBounds(590, 710, 70, 20);

        linePanel33.setForeground(new java.awt.Color(0, 153, 153));
        linePanel33.setArrowA(false);
        linePanel33.setHorizontal(true);

        javax.swing.GroupLayout linePanel33Layout = new javax.swing.GroupLayout(linePanel33);
        linePanel33.setLayout(linePanel33Layout);
        linePanel33Layout.setHorizontalGroup(
            linePanel33Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 30, Short.MAX_VALUE)
        );
        linePanel33Layout.setVerticalGroup(
            linePanel33Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel33);
        linePanel33.setBounds(660, 470, 30, 20);

        linePanel6.setForeground(new java.awt.Color(0, 153, 153));
        linePanel6.setArrowA(false);
        linePanel6.setArrowB(false);
        linePanel6.setHorizontal(true);

        javax.swing.GroupLayout linePanel6Layout = new javax.swing.GroupLayout(linePanel6);
        linePanel6.setLayout(linePanel6Layout);
        linePanel6Layout.setHorizontalGroup(
            linePanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel6Layout.setVerticalGroup(
            linePanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel6);
        linePanel6.setBounds(590, 110, 70, 20);

        linePanel18.setForeground(new java.awt.Color(153, 0, 153));
        linePanel18.setArrowA(false);
        linePanel18.setArrowB(false);
        linePanel18.setHorizontal(true);

        javax.swing.GroupLayout linePanel18Layout = new javax.swing.GroupLayout(linePanel18);
        linePanel18.setLayout(linePanel18Layout);
        linePanel18Layout.setHorizontalGroup(
            linePanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel18Layout.setVerticalGroup(
            linePanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel18);
        linePanel18.setBounds(590, 180, 40, 20);

        linePanel20.setForeground(new java.awt.Color(153, 0, 153));
        linePanel20.setArrowA(false);
        linePanel20.setArrowB(false);
        linePanel20.setHorizontal(true);

        javax.swing.GroupLayout linePanel20Layout = new javax.swing.GroupLayout(linePanel20);
        linePanel20.setLayout(linePanel20Layout);
        linePanel20Layout.setHorizontalGroup(
            linePanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel20Layout.setVerticalGroup(
            linePanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel20);
        linePanel20.setBounds(590, 300, 40, 20);

        linePanel22.setForeground(new java.awt.Color(153, 0, 153));
        linePanel22.setArrowA(false);
        linePanel22.setArrowB(false);
        linePanel22.setHorizontal(true);

        javax.swing.GroupLayout linePanel22Layout = new javax.swing.GroupLayout(linePanel22);
        linePanel22.setLayout(linePanel22Layout);
        linePanel22Layout.setHorizontalGroup(
            linePanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel22Layout.setVerticalGroup(
            linePanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel22);
        linePanel22.setBounds(590, 420, 40, 20);

        linePanel24.setForeground(new java.awt.Color(153, 0, 153));
        linePanel24.setArrowA(false);
        linePanel24.setArrowB(false);
        linePanel24.setHorizontal(true);

        javax.swing.GroupLayout linePanel24Layout = new javax.swing.GroupLayout(linePanel24);
        linePanel24.setLayout(linePanel24Layout);
        linePanel24Layout.setHorizontalGroup(
            linePanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel24Layout.setVerticalGroup(
            linePanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel24);
        linePanel24.setBounds(590, 540, 40, 20);

        linePanel26.setForeground(new java.awt.Color(153, 0, 153));
        linePanel26.setArrowA(false);
        linePanel26.setArrowB(false);
        linePanel26.setHorizontal(true);

        javax.swing.GroupLayout linePanel26Layout = new javax.swing.GroupLayout(linePanel26);
        linePanel26.setLayout(linePanel26Layout);
        linePanel26Layout.setHorizontalGroup(
            linePanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel26Layout.setVerticalGroup(
            linePanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel26);
        linePanel26.setBounds(590, 660, 40, 20);

        linePanel5.setArrowA(false);
        linePanel5.setHorizontal(true);

        javax.swing.GroupLayout linePanel5Layout = new javax.swing.GroupLayout(linePanel5);
        linePanel5.setLayout(linePanel5Layout);
        linePanel5Layout.setHorizontalGroup(
            linePanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel5Layout.setVerticalGroup(
            linePanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel5);
        linePanel5.setBounds(440, 210, 60, 20);

        linePanel3.setArrowA(false);
        linePanel3.setHorizontal(true);

        javax.swing.GroupLayout linePanel3Layout = new javax.swing.GroupLayout(linePanel3);
        linePanel3.setLayout(linePanel3Layout);
        linePanel3Layout.setHorizontalGroup(
            linePanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel3Layout.setVerticalGroup(
            linePanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel3);
        linePanel3.setBounds(440, 450, 60, 20);

        linePanel10.setForeground(new java.awt.Color(255, 153, 102));
        linePanel10.setArrowA(false);
        linePanel10.setArrowB(false);
        linePanel10.setHorizontal(true);

        javax.swing.GroupLayout linePanel10Layout = new javax.swing.GroupLayout(linePanel10);
        linePanel10.setLayout(linePanel10Layout);
        linePanel10Layout.setHorizontalGroup(
            linePanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 210, Short.MAX_VALUE)
        );
        linePanel10Layout.setVerticalGroup(
            linePanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel10);
        linePanel10.setBounds(30, 50, 210, 20);

        linePanel11.setForeground(new java.awt.Color(255, 153, 102));
        linePanel11.setArrowA(false);
        linePanel11.setArrowB(false);
        linePanel11.setHorizontal(true);

        javax.swing.GroupLayout linePanel11Layout = new javax.swing.GroupLayout(linePanel11);
        linePanel11.setLayout(linePanel11Layout);
        linePanel11Layout.setHorizontalGroup(
            linePanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 210, Short.MAX_VALUE)
        );
        linePanel11Layout.setVerticalGroup(
            linePanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel11);
        linePanel11.setBounds(30, 220, 210, 20);

        linePanel12.setForeground(new java.awt.Color(255, 153, 102));
        linePanel12.setArrowA(false);

        javax.swing.GroupLayout linePanel12Layout = new javax.swing.GroupLayout(linePanel12);
        linePanel12.setLayout(linePanel12Layout);
        linePanel12Layout.setHorizontalGroup(
            linePanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel12Layout.setVerticalGroup(
            linePanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 200, Short.MAX_VALUE)
        );

        add(linePanel12);
        linePanel12.setBounds(20, 60, 20, 200);

        linePanel13.setForeground(new java.awt.Color(255, 153, 102));
        linePanel13.setArrowA(false);
        linePanel13.setHorizontal(true);

        javax.swing.GroupLayout linePanel13Layout = new javax.swing.GroupLayout(linePanel13);
        linePanel13.setLayout(linePanel13Layout);
        linePanel13Layout.setHorizontalGroup(
            linePanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 90, Short.MAX_VALUE)
        );
        linePanel13Layout.setVerticalGroup(
            linePanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel13);
        linePanel13.setBounds(150, 330, 90, 20);

        linePanel28.setForeground(new java.awt.Color(255, 153, 0));
        linePanel28.setArrowA(false);
        linePanel28.setArrowB(false);

        javax.swing.GroupLayout linePanel28Layout = new javax.swing.GroupLayout(linePanel28);
        linePanel28.setLayout(linePanel28Layout);
        linePanel28Layout.setHorizontalGroup(
            linePanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel28Layout.setVerticalGroup(
            linePanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 210, Short.MAX_VALUE)
        );

        add(linePanel28);
        linePanel28.setBounds(460, 270, 20, 210);

        linePanel29.setForeground(new java.awt.Color(255, 153, 0));
        linePanel29.setArrowB(false);
        linePanel29.setHorizontal(true);

        javax.swing.GroupLayout linePanel29Layout = new javax.swing.GroupLayout(linePanel29);
        linePanel29.setLayout(linePanel29Layout);
        linePanel29Layout.setHorizontalGroup(
            linePanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 30, Short.MAX_VALUE)
        );
        linePanel29Layout.setVerticalGroup(
            linePanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel29);
        linePanel29.setBounds(440, 470, 30, 20);

        linePanel30.setForeground(new java.awt.Color(255, 153, 0));
        linePanel30.setArrowA(false);
        linePanel30.setArrowB(false);
        linePanel30.setHorizontal(true);

        javax.swing.GroupLayout linePanel30Layout = new javax.swing.GroupLayout(linePanel30);
        linePanel30.setLayout(linePanel30Layout);
        linePanel30Layout.setHorizontalGroup(
            linePanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 30, Short.MAX_VALUE)
        );
        linePanel30Layout.setVerticalGroup(
            linePanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel30);
        linePanel30.setBounds(440, 400, 30, 20);

        linePanel31.setForeground(new java.awt.Color(255, 153, 0));
        linePanel31.setArrowA(false);
        linePanel31.setArrowB(false);
        linePanel31.setHorizontal(true);

        javax.swing.GroupLayout linePanel31Layout = new javax.swing.GroupLayout(linePanel31);
        linePanel31.setLayout(linePanel31Layout);
        linePanel31Layout.setHorizontalGroup(
            linePanel31Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 30, Short.MAX_VALUE)
        );
        linePanel31Layout.setVerticalGroup(
            linePanel31Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel31);
        linePanel31.setBounds(440, 260, 30, 20);

        linePanel14.setForeground(new java.awt.Color(0, 255, 204));
        linePanel14.setArrowB(false);
        linePanel14.setHorizontal(true);

        javax.swing.GroupLayout linePanel14Layout = new javax.swing.GroupLayout(linePanel14);
        linePanel14.setLayout(linePanel14Layout);
        linePanel14Layout.setHorizontalGroup(
            linePanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 30, Short.MAX_VALUE)
        );
        linePanel14Layout.setVerticalGroup(
            linePanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel14);
        linePanel14.setBounds(210, 120, 30, 20);

        linePanel16.setForeground(new java.awt.Color(0, 255, 204));
        linePanel16.setArrowA(false);
        linePanel16.setHorizontal(true);

        javax.swing.GroupLayout linePanel16Layout = new javax.swing.GroupLayout(linePanel16);
        linePanel16.setLayout(linePanel16Layout);
        linePanel16Layout.setHorizontalGroup(
            linePanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel16Layout.setVerticalGroup(
            linePanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel16);
        linePanel16.setBounds(170, 370, 70, 20);

        linePanel17.setForeground(new java.awt.Color(0, 255, 204));
        linePanel17.setArrowA(false);
        linePanel17.setHorizontal(true);

        javax.swing.GroupLayout linePanel17Layout = new javax.swing.GroupLayout(linePanel17);
        linePanel17.setLayout(linePanel17Layout);
        linePanel17Layout.setHorizontalGroup(
            linePanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 70, Short.MAX_VALUE)
        );
        linePanel17Layout.setVerticalGroup(
            linePanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel17);
        linePanel17.setBounds(170, 250, 70, 20);

        linePanel7.setForeground(new java.awt.Color(153, 0, 153));
        linePanel7.setArrowA(false);
        linePanel7.setArrowB(false);
        linePanel7.setHorizontal(true);

        javax.swing.GroupLayout linePanel7Layout = new javax.swing.GroupLayout(linePanel7);
        linePanel7.setLayout(linePanel7Layout);
        linePanel7Layout.setHorizontalGroup(
            linePanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel7Layout.setVerticalGroup(
            linePanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel7);
        linePanel7.setBounds(590, 60, 40, 20);

        linePanel2.setArrowA(false);
        linePanel2.setHorizontal(true);

        javax.swing.GroupLayout linePanel2Layout = new javax.swing.GroupLayout(linePanel2);
        linePanel2.setLayout(linePanel2Layout);
        linePanel2Layout.setHorizontalGroup(
            linePanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel2Layout.setVerticalGroup(
            linePanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel2);
        linePanel2.setBounds(440, 90, 60, 20);
        add(oscillator1);
        oscillator1.setBounds(240, 320, 200, 120);
        add(oscillator2);
        oscillator2.setBounds(240, 180, 200, 120);
        add(oscillator3);
        oscillator3.setBounds(240, 40, 200, 120);
        add(preFilterMixerOscillator1);
        preFilterMixerOscillator1.setBounds(500, 280, 110, 110);
        add(preFilterMixerOscillator2);
        preFilterMixerOscillator2.setBounds(500, 160, 110, 110);
        add(preFilterMixerOscillator3);
        preFilterMixerOscillator3.setBounds(500, 40, 110, 110);
        add(preFilterMixerRingModulation);
        preFilterMixerRingModulation.setBounds(500, 400, 110, 110);
        add(preFilterMixerExternalStereoAudioInput);
        preFilterMixerExternalStereoAudioInput.setBounds(500, 640, 110, 110);
        add(preFilterMixerNoise);
        preFilterMixerNoise.setBounds(500, 520, 110, 110);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabel1.setText("OUTPUT");
        add(jLabel1);
        jLabel1.setBounds(1100, 0, 170, 20);
        add(fmPanel);
        fmPanel.setBounds(50, 90, 160, 100);
        add(syncPanel1);
        syncPanel1.setBounds(10, 260, 140, 100);

        noisePanel.setBackground(new java.awt.Color(255, 204, 153));
        noisePanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 3));
        noisePanel.setLayout(null);

        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel5.setText("Noise");
        noisePanel.add(jLabel5);
        jLabel5.setBounds(30, 10, 32, 15);

        noiseButtonGroup.add(jRadioButton1);
        jRadioButton1.setText("Pink");
        jRadioButton1.setOpaque(false);
        noisePanel.add(jRadioButton1);
        jRadioButton1.setBounds(20, 30, 45, 23);

        noiseButtonGroup.add(jRadioButton2);
        jRadioButton2.setText("White");
        jRadioButton2.setOpaque(false);
        noisePanel.add(jRadioButton2);
        jRadioButton2.setBounds(20, 50, 53, 23);

        add(noisePanel);
        noisePanel.setBounds(340, 540, 100, 90);

        extInPanel.setBackground(new java.awt.Color(255, 204, 153));
        extInPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 3));
        extInPanel.setLayout(null);

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel2.setText("External");
        extInPanel.add(jLabel2);
        jLabel2.setBounds(20, 20, 50, 15);

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel3.setText("Stereo");
        extInPanel.add(jLabel3);
        jLabel3.setBounds(30, 40, 41, 15);

        jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel6.setText("Audio Input");
        extInPanel.add(jLabel6);
        jLabel6.setBounds(10, 60, 75, 15);

        add(extInPanel);
        extInPanel.setBounds(340, 650, 100, 90);

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabel4.setText("AUDIO SOURCES");
        add(jLabel4);
        jLabel4.setBounds(240, 0, 200, 17);

        ringModPanel.setBackground(new java.awt.Color(255, 204, 153));
        ringModPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 3));

        jLabel7.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel7.setForeground(new java.awt.Color(255, 153, 51));
        jLabel7.setText("Ring");

        jLabel8.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel8.setForeground(new java.awt.Color(255, 153, 51));
        jLabel8.setText("Modulation");

        javax.swing.GroupLayout ringModPanelLayout = new javax.swing.GroupLayout(ringModPanel);
        ringModPanel.setLayout(ringModPanelLayout);
        ringModPanelLayout.setHorizontalGroup(
            ringModPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ringModPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(ringModPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(ringModPanelLayout.createSequentialGroup()
                        .addGap(23, 23, 23)
                        .addComponent(jLabel7))
                    .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, 74, Short.MAX_VALUE))
                .addContainerGap())
        );
        ringModPanelLayout.setVerticalGroup(
            ringModPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ringModPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel8)
                .addContainerGap(17, Short.MAX_VALUE))
        );

        add(ringModPanel);
        ringModPanel.setBounds(340, 450, 100, 70);

        linePanel1.setForeground(java.awt.Color.blue);
        linePanel1.setArrowA(false);
        linePanel1.setHorizontal(true);

        javax.swing.GroupLayout linePanel1Layout = new javax.swing.GroupLayout(linePanel1);
        linePanel1.setLayout(linePanel1Layout);
        linePanel1Layout.setHorizontalGroup(
            linePanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 200, Short.MAX_VALUE)
        );
        linePanel1Layout.setVerticalGroup(
            linePanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel1);
        linePanel1.setBounds(300, 670, 200, 20);

        linePanel9.setForeground(java.awt.Color.red);
        linePanel9.setArrowA(false);
        linePanel9.setHorizontal(true);

        javax.swing.GroupLayout linePanel9Layout = new javax.swing.GroupLayout(linePanel9);
        linePanel9.setLayout(linePanel9Layout);
        linePanel9Layout.setHorizontalGroup(
            linePanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 200, Short.MAX_VALUE)
        );
        linePanel9Layout.setVerticalGroup(
            linePanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel9);
        linePanel9.setBounds(300, 700, 200, 20);

        linePanel8.setArrowA(false);
        linePanel8.setHorizontal(true);

        javax.swing.GroupLayout linePanel8Layout = new javax.swing.GroupLayout(linePanel8);
        linePanel8.setLayout(linePanel8Layout);
        linePanel8Layout.setHorizontalGroup(
            linePanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel8Layout.setVerticalGroup(
            linePanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel8);
        linePanel8.setBounds(440, 570, 60, 20);

        extInBluePlugPanel.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.blue, 3));
        extInBluePlugPanel.setOpaque(false);

        javax.swing.GroupLayout extInBluePlugPanelLayout = new javax.swing.GroupLayout(extInBluePlugPanel);
        extInBluePlugPanel.setLayout(extInBluePlugPanelLayout);
        extInBluePlugPanelLayout.setHorizontalGroup(
            extInBluePlugPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 14, Short.MAX_VALUE)
        );
        extInBluePlugPanelLayout.setVerticalGroup(
            extInBluePlugPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 14, Short.MAX_VALUE)
        );

        add(extInBluePlugPanel);
        extInBluePlugPanel.setBounds(280, 670, 20, 20);

        javax.swing.GroupLayout filter2PanelLayout = new javax.swing.GroupLayout(filter2Panel);
        filter2Panel.setLayout(filter2PanelLayout);
        filter2PanelLayout.setHorizontalGroup(
            filter2PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 154, Short.MAX_VALUE)
        );
        filter2PanelLayout.setVerticalGroup(
            filter2PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 294, Short.MAX_VALUE)
        );

        add(filter2Panel);
        filter2Panel.setBounds(690, 40, 160, 300);

        javax.swing.GroupLayout filter1PanelLayout = new javax.swing.GroupLayout(filter1Panel);
        filter1Panel.setLayout(filter1PanelLayout);
        filter1PanelLayout.setHorizontalGroup(
            filter1PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 154, Short.MAX_VALUE)
        );
        filter1PanelLayout.setVerticalGroup(
            filter1PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 254, Short.MAX_VALUE)
        );

        add(filter1Panel);
        filter1Panel.setBounds(690, 390, 160, 260);

        jLabel9.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabel9.setText("PRE-FILTER MIX");
        add(jLabel9);
        jLabel9.setBounds(500, 0, 170, 17);

        jLabel10.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabel10.setText("FILTERS");
        add(jLabel10);
        jLabel10.setBounds(690, 0, 170, 17);

        jLabel11.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabel11.setText("POST-FILTER MIX");
        add(jLabel11);
        jLabel11.setBounds(860, 0, 170, 17);

        linePanel32.setForeground(new java.awt.Color(0, 255, 204));
        linePanel32.setArrowA(false);
        linePanel32.setArrowB(false);

        javax.swing.GroupLayout linePanel32Layout = new javax.swing.GroupLayout(linePanel32);
        linePanel32.setLayout(linePanel32Layout);
        linePanel32Layout.setHorizontalGroup(
            linePanel32Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel32Layout.setVerticalGroup(
            linePanel32Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 190, Short.MAX_VALUE)
        );

        add(linePanel32);
        linePanel32.setBounds(160, 190, 20, 190);

        linePanel15.setArrowA(false);
        linePanel15.setHorizontal(true);

        javax.swing.GroupLayout linePanel15Layout = new javax.swing.GroupLayout(linePanel15);
        linePanel15.setLayout(linePanel15Layout);
        linePanel15Layout.setHorizontalGroup(
            linePanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel15Layout.setVerticalGroup(
            linePanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel15);
        linePanel15.setBounds(440, 340, 60, 20);

        extInBluePlugPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.red, 3));
        extInBluePlugPanel1.setOpaque(false);

        javax.swing.GroupLayout extInBluePlugPanel1Layout = new javax.swing.GroupLayout(extInBluePlugPanel1);
        extInBluePlugPanel1.setLayout(extInBluePlugPanel1Layout);
        extInBluePlugPanel1Layout.setHorizontalGroup(
            extInBluePlugPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 14, Short.MAX_VALUE)
        );
        extInBluePlugPanel1Layout.setVerticalGroup(
            extInBluePlugPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 14, Short.MAX_VALUE)
        );

        add(extInBluePlugPanel1);
        extInBluePlugPanel1.setBounds(280, 700, 20, 20);

        linePanel34.setForeground(new java.awt.Color(153, 0, 153));
        linePanel34.setArrowA(false);
        linePanel34.setArrowB(false);

        javax.swing.GroupLayout linePanel34Layout = new javax.swing.GroupLayout(linePanel34);
        linePanel34.setLayout(linePanel34Layout);
        linePanel34Layout.setHorizontalGroup(
            linePanel34Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel34Layout.setVerticalGroup(
            linePanel34Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 600, Short.MAX_VALUE)
        );

        add(linePanel34);
        linePanel34.setBounds(620, 70, 20, 600);

        linePanel35.setForeground(new java.awt.Color(153, 0, 153));
        linePanel35.setArrowA(false);
        linePanel35.setHorizontal(true);

        javax.swing.GroupLayout linePanel35Layout = new javax.swing.GroupLayout(linePanel35);
        linePanel35.setLayout(linePanel35Layout);
        linePanel35Layout.setHorizontalGroup(
            linePanel35Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel35Layout.setVerticalGroup(
            linePanel35Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel35);
        linePanel35.setBounds(630, 90, 60, 20);

        portamentoPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        portamentoPanel.setOpaque(false);
        portamentoPanel.setLayout(null);

        jLabel15.setText("portamento");
        portamentoPanel.add(jLabel15);
        jLabel15.setBounds(10, 10, 110, 14);

        portamentoEnabledButtonGroup.add(jRadioButton4);
        jRadioButton4.setText("off");
        jRadioButton4.setOpaque(false);
        portamentoPanel.add(jRadioButton4);
        jRadioButton4.setBounds(10, 30, 39, 23);

        portamentoEnabledButtonGroup.add(jRadioButton5);
        jRadioButton5.setText("legato");
        jRadioButton5.setOpaque(false);
        portamentoPanel.add(jRadioButton5);
        jRadioButton5.setBounds(10, 50, 55, 23);

        portamentoEnabledButtonGroup.add(jRadioButton3);
        jRadioButton3.setText("always");
        jRadioButton3.setOpaque(false);
        portamentoPanel.add(jRadioButton3);
        jRadioButton3.setBounds(10, 70, 59, 23);

        portamentoTypeButtonGroup.add(jRadioButton7);
        jRadioButton7.setText("fixed");
        jRadioButton7.setOpaque(false);
        portamentoPanel.add(jRadioButton7);
        jRadioButton7.setBounds(10, 100, 49, 23);

        portamentoTypeButtonGroup.add(jRadioButton8);
        jRadioButton8.setText("scaled");
        jRadioButton8.setOpaque(false);
        jRadioButton8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButton8ActionPerformed(evt);
            }
        });
        portamentoPanel.add(jRadioButton8);
        jRadioButton8.setBounds(10, 120, 93, 23);

        portamentoTypeButtonGroup.add(jRadioButton9);
        jRadioButton9.setText("glissando fixed");
        jRadioButton9.setOpaque(false);
        portamentoPanel.add(jRadioButton9);
        jRadioButton9.setBounds(10, 140, 120, 23);

        portamentoTypeButtonGroup.add(jRadioButton6);
        jRadioButton6.setText("glissando scaled");
        jRadioButton6.setOpaque(false);
        portamentoPanel.add(jRadioButton6);
        jRadioButton6.setBounds(10, 160, 110, 23);

        portamentoTimeSlider.setOpaque(false);
        portamentoPanel.add(portamentoTimeSlider);
        portamentoTimeSlider.setBounds(10, 210, 110, 24);

        jLabel16.setText("time");
        portamentoPanel.add(jLabel16);
        jLabel16.setBounds(10, 200, 20, 14);

        add(portamentoPanel);
        portamentoPanel.setBounds(10, 450, 130, 240);

        analogDriftPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        analogDriftPanel1.setOpaque(false);
        analogDriftPanel1.setLayout(null);

        analogDriftSlider.setOpaque(false);
        analogDriftPanel1.add(analogDriftSlider);
        analogDriftSlider.setBounds(0, 30, 130, 24);

        jLabel12.setText("analog drift");
        analogDriftPanel1.add(jLabel12);
        jLabel12.setBounds(10, 10, 110, 14);

        add(analogDriftPanel1);
        analogDriftPanel1.setBounds(170, 480, 130, 60);

        polyphonyPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        polyphonyPanel.setOpaque(false);
        polyphonyPanel.setLayout(null);

        parameterValueButton1.setText("poly");
        parameterValueButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                parameterValueButton1ActionPerformed(evt);
            }
        });
        polyphonyPanel.add(parameterValueButton1);
        parameterValueButton1.setBounds(10, 10, 110, 23);

        add(polyphonyPanel);
        polyphonyPanel.setBounds(10, 380, 130, 50);

        polyphonyPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        polyphonyPanel3.setOpaque(false);
        polyphonyPanel3.setLayout(null);

        jLabel13.setText("unison");
        polyphonyPanel3.add(jLabel13);
        jLabel13.setBounds(10, 10, 40, 14);

        unisonDetuneSlider.setOpaque(false);
        polyphonyPanel3.add(unisonDetuneSlider);
        unisonDetuneSlider.setBounds(0, 50, 100, 24);

        unisonVoicesSlider.setOrientation(javax.swing.JSlider.VERTICAL);
        unisonVoicesSlider.setOpaque(false);
        polyphonyPanel3.add(unisonVoicesSlider);
        unisonVoicesSlider.setBounds(100, 4, 30, 70);

        jLabel14.setText("detune");
        polyphonyPanel3.add(jLabel14);
        jLabel14.setBounds(10, 30, 34, 14);
        polyphonyPanel3.add(unisonVoicesLabel);
        unisonVoicesLabel.setBounds(50, 10, 70, 14);

        add(polyphonyPanel3);
        polyphonyPanel3.setBounds(170, 560, 130, 80);
        add(fxPanel1);
        fxPanel1.setBounds(1350, 40, 150, 240);

        nameField.setText("patch name");
        add(nameField);
        nameField.setBounds(10, 10, 170, 20);

        javax.swing.GroupLayout filter2PostFilterMixerPanelLayout = new javax.swing.GroupLayout(filter2PostFilterMixerPanel);
        filter2PostFilterMixerPanel.setLayout(filter2PostFilterMixerPanelLayout);
        filter2PostFilterMixerPanelLayout.setHorizontalGroup(
            filter2PostFilterMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 94, Short.MAX_VALUE)
        );
        filter2PostFilterMixerPanelLayout.setVerticalGroup(
            filter2PostFilterMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 104, Short.MAX_VALUE)
        );

        add(filter2PostFilterMixerPanel);
        filter2PostFilterMixerPanel.setBounds(890, 40, 100, 110);

        javax.swing.GroupLayout filter1PostFilterMixerPanelLayout = new javax.swing.GroupLayout(filter1PostFilterMixerPanel);
        filter1PostFilterMixerPanel.setLayout(filter1PostFilterMixerPanelLayout);
        filter1PostFilterMixerPanelLayout.setHorizontalGroup(
            filter1PostFilterMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 94, Short.MAX_VALUE)
        );
        filter1PostFilterMixerPanelLayout.setVerticalGroup(
            filter1PostFilterMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 104, Short.MAX_VALUE)
        );

        add(filter1PostFilterMixerPanel);
        filter1PostFilterMixerPanel.setBounds(890, 430, 100, 110);

        javax.swing.GroupLayout prepostFilterMixerPanelLayout = new javax.swing.GroupLayout(prepostFilterMixerPanel);
        prepostFilterMixerPanel.setLayout(prepostFilterMixerPanelLayout);
        prepostFilterMixerPanelLayout.setHorizontalGroup(
            prepostFilterMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 94, Short.MAX_VALUE)
        );
        prepostFilterMixerPanelLayout.setVerticalGroup(
            prepostFilterMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 104, Short.MAX_VALUE)
        );

        add(prepostFilterMixerPanel);
        prepostFilterMixerPanel.setBounds(890, 650, 100, 110);

        javax.swing.GroupLayout postDriveMixerPanelLayout = new javax.swing.GroupLayout(postDriveMixerPanel);
        postDriveMixerPanel.setLayout(postDriveMixerPanelLayout);
        postDriveMixerPanelLayout.setHorizontalGroup(
            postDriveMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 44, Short.MAX_VALUE)
        );
        postDriveMixerPanelLayout.setVerticalGroup(
            postDriveMixerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 104, Short.MAX_VALUE)
        );

        add(postDriveMixerPanel);
        postDriveMixerPanel.setBounds(1210, 70, 50, 110);
        add(drivePanel1);
        drivePanel1.setBounds(1070, 70, 120, 110);

        javax.swing.GroupLayout fx2Panel1Layout = new javax.swing.GroupLayout(fx2Panel1);
        fx2Panel1.setLayout(fx2Panel1Layout);
        fx2Panel1Layout.setHorizontalGroup(
            fx2Panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 130, Short.MAX_VALUE)
        );
        fx2Panel1Layout.setVerticalGroup(
            fx2Panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 240, Short.MAX_VALUE)
        );

        add(fx2Panel1);
        fx2Panel1.setBounds(1520, 40, 130, 240);
        add(envelopePanel1);
        envelopePanel1.setBounds(1060, 850, 310, 130);
        add(envelopePanel2);
        envelopePanel2.setBounds(1060, 570, 310, 130);
        add(envelopePanel3);
        envelopePanel3.setBounds(1060, 710, 310, 130);
        add(lfoPanel1);
        lfoPanel1.setBounds(1380, 570, 290, 110);
        add(lfoPanel2);
        lfoPanel2.setBounds(1380, 700, 290, 120);
        add(micronKnobsPanel1);
        micronKnobsPanel1.setBounds(800, 770, 250, 210);
        add(modulationMatrixPanel1);
        modulationMatrixPanel1.setBounds(1060, 310, 620, 250);
        add(trackingGeneratorPanel1);
        trackingGeneratorPanel1.setBounds(1380, 840, 280, 140);

        linePanel36.setForeground(new java.awt.Color(153, 0, 153));
        linePanel36.setArrowA(false);
        linePanel36.setHorizontal(true);

        javax.swing.GroupLayout linePanel36Layout = new javax.swing.GroupLayout(linePanel36);
        linePanel36.setLayout(linePanel36Layout);
        linePanel36Layout.setHorizontalGroup(
            linePanel36Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel36Layout.setVerticalGroup(
            linePanel36Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel36);
        linePanel36.setBounds(850, 80, 40, 20);

        linePanel37.setForeground(new java.awt.Color(0, 153, 153));
        linePanel37.setArrowA(false);
        linePanel37.setHorizontal(true);

        javax.swing.GroupLayout linePanel37Layout = new javax.swing.GroupLayout(linePanel37);
        linePanel37.setLayout(linePanel37Layout);
        linePanel37Layout.setHorizontalGroup(
            linePanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel37Layout.setVerticalGroup(
            linePanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel37);
        linePanel37.setBounds(850, 470, 40, 20);

        jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jPanel1.setOpaque(false);
        jPanel1.setLayout(null);

        jLabel17.setText("prefilter mix");
        jPanel1.add(jLabel17);
        jLabel17.setBounds(10, 10, 140, 14);

        postpreFilterMixSlider.setOpaque(false);
        jPanel1.add(postpreFilterMixSlider);
        postpreFilterMixSlider.setBounds(10, 50, 140, 24);
        jPanel1.add(postpreFilterMixLabel);
        postpreFilterMixLabel.setBounds(10, 30, 140, 14);

        add(jPanel1);
        jPanel1.setBounds(690, 660, 160, 90);

        linePanel38.setArrowA(false);
        linePanel38.setHorizontal(true);

        javax.swing.GroupLayout linePanel38Layout = new javax.swing.GroupLayout(linePanel38);
        linePanel38.setLayout(linePanel38Layout);
        linePanel38Layout.setHorizontalGroup(
            linePanel38Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel38Layout.setVerticalGroup(
            linePanel38Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel38);
        linePanel38.setBounds(850, 690, 40, 20);

        linePanel39.setForeground(java.awt.Color.red);
        linePanel39.setArrowA(false);
        linePanel39.setHorizontal(true);

        javax.swing.GroupLayout linePanel39Layout = new javax.swing.GroupLayout(linePanel39);
        linePanel39.setLayout(linePanel39Layout);
        linePanel39Layout.setHorizontalGroup(
            linePanel39Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 80, Short.MAX_VALUE)
        );
        linePanel39Layout.setVerticalGroup(
            linePanel39Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel39);
        linePanel39.setBounds(990, 120, 80, 20);

        linePanel40.setForeground(java.awt.Color.blue);
        linePanel40.setArrowA(false);
        linePanel40.setArrowB(false);
        linePanel40.setHorizontal(true);

        javax.swing.GroupLayout linePanel40Layout = new javax.swing.GroupLayout(linePanel40);
        linePanel40.setLayout(linePanel40Layout);
        linePanel40Layout.setHorizontalGroup(
            linePanel40Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel40Layout.setVerticalGroup(
            linePanel40Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel40);
        linePanel40.setBounds(990, 60, 20, 20);

        linePanel41.setForeground(java.awt.Color.red);
        linePanel41.setArrowA(false);
        linePanel41.setArrowB(false);
        linePanel41.setHorizontal(true);

        javax.swing.GroupLayout linePanel41Layout = new javax.swing.GroupLayout(linePanel41);
        linePanel41.setLayout(linePanel41Layout);
        linePanel41Layout.setHorizontalGroup(
            linePanel41Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel41Layout.setVerticalGroup(
            linePanel41Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel41);
        linePanel41.setBounds(990, 510, 40, 20);

        linePanel42.setForeground(java.awt.Color.blue);
        linePanel42.setArrowA(false);
        linePanel42.setArrowB(false);
        linePanel42.setHorizontal(true);

        javax.swing.GroupLayout linePanel42Layout = new javax.swing.GroupLayout(linePanel42);
        linePanel42.setLayout(linePanel42Layout);
        linePanel42Layout.setHorizontalGroup(
            linePanel42Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel42Layout.setVerticalGroup(
            linePanel42Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel42);
        linePanel42.setBounds(990, 450, 20, 20);

        linePanel44.setForeground(java.awt.Color.blue);
        linePanel44.setArrowA(false);
        linePanel44.setArrowB(false);
        linePanel44.setHorizontal(true);

        javax.swing.GroupLayout linePanel44Layout = new javax.swing.GroupLayout(linePanel44);
        linePanel44.setLayout(linePanel44Layout);
        linePanel44Layout.setHorizontalGroup(
            linePanel44Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel44Layout.setVerticalGroup(
            linePanel44Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel44);
        linePanel44.setBounds(990, 670, 20, 20);

        linePanel43.setForeground(java.awt.Color.red);
        linePanel43.setArrowA(false);
        linePanel43.setArrowB(false);
        linePanel43.setHorizontal(true);

        javax.swing.GroupLayout linePanel43Layout = new javax.swing.GroupLayout(linePanel43);
        linePanel43.setLayout(linePanel43Layout);
        linePanel43Layout.setHorizontalGroup(
            linePanel43Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );
        linePanel43Layout.setVerticalGroup(
            linePanel43Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel43);
        linePanel43.setBounds(990, 730, 40, 20);

        linePanel45.setForeground(java.awt.Color.red);
        linePanel45.setArrowA(false);
        linePanel45.setArrowB(false);

        javax.swing.GroupLayout linePanel45Layout = new javax.swing.GroupLayout(linePanel45);
        linePanel45.setLayout(linePanel45Layout);
        linePanel45Layout.setHorizontalGroup(
            linePanel45Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel45Layout.setVerticalGroup(
            linePanel45Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 610, Short.MAX_VALUE)
        );

        add(linePanel45);
        linePanel45.setBounds(1020, 130, 20, 610);

        linePanel46.setForeground(java.awt.Color.blue);
        linePanel46.setArrowA(false);
        linePanel46.setArrowB(false);

        javax.swing.GroupLayout linePanel46Layout = new javax.swing.GroupLayout(linePanel46);
        linePanel46.setLayout(linePanel46Layout);
        linePanel46Layout.setHorizontalGroup(
            linePanel46Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel46Layout.setVerticalGroup(
            linePanel46Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 610, Short.MAX_VALUE)
        );

        add(linePanel46);
        linePanel46.setBounds(1000, 70, 20, 610);

        verticalLabel1.setText("invert phase");
        add(verticalLabel1);
        verticalLabel1.setBounds(870, 490, 10, 70);

        jPanel2.setBackground(new java.awt.Color(153, 255, 153));
        jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 153, 153), 3));
        jPanel2.setLayout(null);

        jLabel18.setText("link");
        jPanel2.add(jLabel18);
        jLabel18.setBounds(10, 0, 20, 30);

        filter2RelativeToFilter1CheckBox.setOpaque(false);
        filter2RelativeToFilter1CheckBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                filter2RelativeToFilter1CheckBoxActionPerformed(evt);
            }
        });
        jPanel2.add(filter2RelativeToFilter1CheckBox);
        filter2RelativeToFilter1CheckBox.setBounds(30, 0, 21, 30);

        filter1RelativeToFilter2Slider.setOpaque(false);
        jPanel2.add(filter1RelativeToFilter2Slider);
        filter1RelativeToFilter2Slider.setBounds(50, 0, 110, 30);

        add(jPanel2);
        jPanel2.setBounds(690, 350, 160, 30);

        linePanel47.setForeground(new java.awt.Color(0, 153, 153));
        linePanel47.setArrowA(false);
        linePanel47.setHorizontal(true);

        javax.swing.GroupLayout linePanel47Layout = new javax.swing.GroupLayout(linePanel47);
        linePanel47.setLayout(linePanel47Layout);
        linePanel47Layout.setHorizontalGroup(
            linePanel47Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel47Layout.setVerticalGroup(
            linePanel47Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel47);
        linePanel47.setBounds(670, 300, 20, 20);

        linePanel48.setForeground(new java.awt.Color(0, 153, 153));
        linePanel48.setArrowA(false);
        linePanel48.setArrowB(false);
        linePanel48.setHorizontal(true);

        javax.swing.GroupLayout linePanel48Layout = new javax.swing.GroupLayout(linePanel48);
        linePanel48.setLayout(linePanel48Layout);
        linePanel48Layout.setHorizontalGroup(
            linePanel48Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 200, Short.MAX_VALUE)
        );
        linePanel48Layout.setVerticalGroup(
            linePanel48Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel48);
        linePanel48.setBounds(670, 360, 200, 20);

        linePanel49.setForeground(new java.awt.Color(0, 153, 153));
        linePanel49.setArrowA(false);
        linePanel49.setArrowB(false);
        linePanel49.setHorizontal(true);

        javax.swing.GroupLayout linePanel49Layout = new javax.swing.GroupLayout(linePanel49);
        linePanel49.setLayout(linePanel49Layout);
        linePanel49Layout.setHorizontalGroup(
            linePanel49Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel49Layout.setVerticalGroup(
            linePanel49Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel49);
        linePanel49.setBounds(850, 400, 20, 20);

        linePanel50.setForeground(new java.awt.Color(0, 153, 153));
        linePanel50.setArrowA(false);
        linePanel50.setArrowB(false);

        javax.swing.GroupLayout linePanel50Layout = new javax.swing.GroupLayout(linePanel50);
        linePanel50.setLayout(linePanel50Layout);
        linePanel50Layout.setHorizontalGroup(
            linePanel50Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel50Layout.setVerticalGroup(
            linePanel50Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 40, Short.MAX_VALUE)
        );

        add(linePanel50);
        linePanel50.setBounds(860, 370, 20, 40);

        linePanel51.setForeground(new java.awt.Color(0, 153, 153));
        linePanel51.setArrowA(false);
        linePanel51.setArrowB(false);

        javax.swing.GroupLayout linePanel51Layout = new javax.swing.GroupLayout(linePanel51);
        linePanel51.setLayout(linePanel51Layout);
        linePanel51Layout.setHorizontalGroup(
            linePanel51Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );
        linePanel51Layout.setVerticalGroup(
            linePanel51Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );

        add(linePanel51);
        linePanel51.setBounds(660, 310, 20, 60);

        linePanel52.setForeground(java.awt.Color.blue);
        linePanel52.setArrowA(false);
        linePanel52.setHorizontal(true);

        javax.swing.GroupLayout linePanel52Layout = new javax.swing.GroupLayout(linePanel52);
        linePanel52.setLayout(linePanel52Layout);
        linePanel52Layout.setHorizontalGroup(
            linePanel52Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 60, Short.MAX_VALUE)
        );
        linePanel52Layout.setVerticalGroup(
            linePanel52Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 20, Short.MAX_VALUE)
        );

        add(linePanel52);
        linePanel52.setBounds(1010, 100, 60, 20);
    }// </editor-fold>//GEN-END:initComponents

private void filter2RelativeToFilter1CheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_filter2RelativeToFilter1CheckBoxActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_filter2RelativeToFilter1CheckBoxActionPerformed

	private void parameterValueButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_parameterValueButton1ActionPerformed
		// TODO add your handling code here:
	}// GEN-LAST:event_parameterValueButton1ActionPerformed

	private void jRadioButton8ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jRadioButton8ActionPerformed
		// TODO add your handling code here:
	}// GEN-LAST:event_jRadioButton8ActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel analogDriftPanel1;
    private javax.swing.JSlider analogDriftSlider;
    private com.laamella.syntherface.synths.alesis.micron.gui.DrivePanel drivePanel1;
    private com.laamella.syntherface.synths.alesis.micron.gui.EnvelopePanel envelopePanel1;
    private com.laamella.syntherface.synths.alesis.micron.gui.EnvelopePanel envelopePanel2;
    private com.laamella.syntherface.synths.alesis.micron.gui.EnvelopePanel envelopePanel3;
    private javax.swing.JPanel extInBluePlugPanel;
    private javax.swing.JPanel extInBluePlugPanel1;
    private javax.swing.JPanel extInPanel;
    private javax.swing.JCheckBox filter1InvertPhaseCheckBox;
    private com.laamella.syntherface.synths.alesis.micron.gui.Filter1Panel filter1Panel;
    private com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel filter1PostFilterMixerPanel;
    private javax.swing.JSlider filter1RelativeToFilter2Slider;
    private com.laamella.syntherface.synths.alesis.micron.gui.Filter2Panel filter2Panel;
    private com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel filter2PostFilterMixerPanel;
    private javax.swing.JCheckBox filter2RelativeToFilter1CheckBox;
    private com.laamella.syntherface.synths.alesis.micron.gui.FmPanel fmPanel;
    private com.laamella.syntherface.synths.alesis.micron.gui.Fx2Panel fx2Panel1;
    private com.laamella.syntherface.synths.alesis.micron.gui.Fx1Panel fxPanel1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JRadioButton jRadioButton1;
    private javax.swing.JRadioButton jRadioButton2;
    private javax.swing.JRadioButton jRadioButton3;
    private javax.swing.JRadioButton jRadioButton4;
    private javax.swing.JRadioButton jRadioButton5;
    private javax.swing.JRadioButton jRadioButton6;
    private javax.swing.JRadioButton jRadioButton7;
    private javax.swing.JRadioButton jRadioButton8;
    private javax.swing.JRadioButton jRadioButton9;
    private com.laamella.syntherface.synths.alesis.micron.gui.LfoPanel lfoPanel1;
    private com.laamella.syntherface.synths.alesis.micron.gui.LfoPanel lfoPanel2;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel1;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel10;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel11;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel12;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel13;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel14;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel15;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel16;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel17;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel18;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel19;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel2;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel20;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel21;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel22;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel23;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel24;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel25;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel26;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel27;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel28;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel29;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel3;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel30;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel31;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel32;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel33;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel34;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel35;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel36;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel37;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel38;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel39;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel4;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel40;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel41;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel42;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel43;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel44;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel45;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel46;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel47;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel48;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel49;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel5;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel50;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel51;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel52;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel6;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel7;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel8;
    private com.laamella.syntherface.synths.gui.LinePanel linePanel9;
    private com.laamella.syntherface.synths.alesis.micron.gui.MicronKnobsPanel micronKnobsPanel1;
    private com.laamella.syntherface.synths.alesis.micron.gui.ModulationMatrixPanel modulationMatrixPanel1;
    private javax.swing.JFormattedTextField nameField;
    private com.laamella.syntherface.synths.gui.RotaryButtonGroup noiseButtonGroup;
    private javax.swing.JPanel noisePanel;
    private com.laamella.syntherface.synths.alesis.micron.gui.OscillatorPanel oscillator1;
    private com.laamella.syntherface.synths.alesis.micron.gui.OscillatorPanel oscillator2;
    private com.laamella.syntherface.synths.alesis.micron.gui.OscillatorPanel oscillator3;
    private com.laamella.syntherface.synths.gui.ParameterValueToggleButton parameterValueButton1;
    private javax.swing.JPanel polyphonyPanel;
    private javax.swing.JPanel polyphonyPanel3;
    private com.laamella.syntherface.synths.gui.RotaryButtonGroup portamentoEnabledButtonGroup;
    private javax.swing.JPanel portamentoPanel;
    private javax.swing.JSlider portamentoTimeSlider;
    private com.laamella.syntherface.synths.gui.RotaryButtonGroup portamentoTypeButtonGroup;
    private com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel postDriveMixerPanel;
    private com.laamella.syntherface.synths.gui.ParameterValueLabel postpreFilterMixLabel;
    private javax.swing.JSlider postpreFilterMixSlider;
    private com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel preFilterMixerExternalStereoAudioInput;
    private com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel preFilterMixerNoise;
    private com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel preFilterMixerOscillator1;
    private com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel preFilterMixerOscillator2;
    private com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel preFilterMixerOscillator3;
    private com.laamella.syntherface.synths.alesis.micron.gui.PreFilterMixerPanel preFilterMixerRingModulation;
    private com.laamella.syntherface.synths.alesis.micron.gui.PostFilterMixerPanel prepostFilterMixerPanel;
    private javax.swing.JPanel ringModPanel;
    private com.laamella.syntherface.synths.alesis.micron.gui.SyncPanel syncPanel1;
    private com.laamella.syntherface.synths.alesis.micron.gui.TrackingGeneratorPanel trackingGeneratorPanel1;
    private javax.swing.JSlider unisonDetuneSlider;
    private com.laamella.syntherface.synths.gui.ParameterValueLabel unisonVoicesLabel;
    private javax.swing.JSlider unisonVoicesSlider;
    private com.laamella.syntherface.synths.gui.VerticalLabel verticalLabel1;
    // End of variables declaration//GEN-END:variables
}
